import { app, BrowserWindow } from 'electron'

/**
 * Set `__static` path to static files in production
 * https://simulatedgreg.gitbooks.io/electron-vue/content/en/using-static-assets.html
 */
if (process.env.NODE_ENV !== 'development') {
  global.__static = require('path').join(__dirname, '/static').replace(/\\/g, '\\\\')
}

let mainWindow
const winURL = process.env.NODE_ENV === 'development'
  ? `http://localhost:9080`
  : `file://${__dirname}/index.html`

function createWindow () {
  /**
   * Initial window options
   */
  mainWindow = new BrowserWindow({
    width: 1000,
    height: 800,
    useContentSize: true,
  })

  mainWindow.loadURL(winURL)
  // 开启服务
  require('../server/index');

  mainWindow.on('closed', () => {
    mainWindow = null
  })
}

app.on('ready', createWindow)

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit()
  }
})

app.on('activate', () => {
  if (mainWindow === null) {
    createWindow()
  }
})

// const ipc = require('electron').ipcMain
// const dialog = require('electron').dialog

// const { Menu } = require('electron')
  
// const template = []
//   {
//     label: 'Edit',
//     submenu: [
//       {role: 'undo'},
//       {role: 'redo'},
//       {type: 'separator'},
//       {role: 'cut'},
//       {role: 'copy'},
//       {role: 'paste'},
//       {role: 'pasteandmatchstyle'},
//       {role: 'delete'},
//       {role: 'selectall'}
//     ]
//   },
//   {
//     label: 'View',
//     submenu: [
//       {role: 'reload'},
//       {role: 'forcereload'},
//       {role: 'toggledevtools'},
//       {type: 'separator'},
//       {role: 'resetzoom'},
//       {role: 'zoomin'},
//       {role: 'zoomout'},
//       {type: 'separator'},
//       {role: 'togglefullscreen'}
//     ]
//   },
//   {
//     role: 'window',
//     submenu: [
//       {role: 'minimize'},
//       {role: 'close'}
//     ]
//   },
//   {
//     role: 'help',
//     submenu: [
//       {
//         label: 'Learn More',
//         click () { require('electron').shell.openExternal('https://electronjs.org') }
//       }
//     ]
//   }
// ]

// if (process.platform === 'darwin') {
//   template.unshift({
//     label: app.getName(),
//     submenu: [
//       {role: 'about'},
//       {type: 'separator'},
//       {role: 'services', submenu: []},
//       {type: 'separator'},
//       {role: 'hide'},
//       {role: 'hideothers'},
//       {role: 'unhide'},
//       {type: 'separator'},
//       {role: 'quit'}
//     ]
//   })

//   // Edit menu
//   template[1].submenu.push(
//     {type: 'separator'},
//     {
//       label: 'Speech',
//       submenu: [
//         {role: 'startspeaking'},
//         {role: 'stopspeaking'}
//       ]
//     }
//   )

//   // Window menu
//   template[3].submenu = [
//     {role: 'close'},
//     {role: 'minimize'},
//     {role: 'zoom'},
//     {type: 'separator'},
//     {role: 'front'}
//   ]
// }

// const menu = Menu.buildFromTemplate(template)
// Menu.setApplicationMenu(menu)

/**
 * Auto Updater
 *
 * Uncomment the following code below and install `electron-updater` to
 * support auto updating. Code Signing with a valid certificate is required.
 * https://simulatedgreg.gitbooks.io/electron-vue/content/en/using-electron-builder.html#auto-updating
 */

/*
import { autoUpdater } from 'electron-updater'

autoUpdater.on('update-downloaded', () => {
  autoUpdater.quitAndInstall()
})

app.on('ready', () => {
  if (process.env.NODE_ENV === 'production') autoUpdater.checkForUpdates()
})
 */
